/*
 * DataEditor.java - Copyright Apr 27, 2012 Z Networks Group, Inc. All rights reserved.
 * Z Networks Group PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */
package com.andromeda.skadi.sandbox2;

import com.andromeda.skadi.data.DataChange;
import com.andromeda.skadi.entity.Data;
import com.andromeda.skadi.entity.attribute.Attribute;
import com.andromeda.skadi.property.Property;
import java.io.Serializable;

/**
 *
 * @author Dickinson Roman Arismendy Torres
 * @param T el tipo de {@link Data dato} que permite editar.
 */
public interface DataEditor<T extends Serializable> {

    public void setData(Attribute<T> attribute);

    public DataChange<T> getChange();

    public Property<Boolean> isChanged();

    public void undo();

    public Property<Boolean> canRedo();

    public Property<Boolean> canUndo();

    public void redo();
}
